/*
 * InputServidor.h
 *
 *  Created on: 13/10/2012
 *      Author: leandro
 */

#ifndef INPUTSERVIDOR_H_
#define INPUTSERVIDOR_H_

#include "SDL/SDL.h"
#include "../Modelo/ObjetosJuego/Personajes/Personaje.h"
#include "../Utils/Timer.h"
#include <iostream>
#include <algorithm>

using namespace std;

class InputServidor {

	private:

		Personaje* jugador;
		int tipoPersonaje;
		
		vector< pair<int, EstadoMovimiento> > teclas;
		string mensajes;
		
		EstadoMovimiento* estadoDerecha;
		EstadoMovimiento* estadoIzquierda;
		EstadoMovimiento* estadoArriba;
		EstadoMovimiento* estadoAbajo;
		EstadoMovimiento* estadoSalto;

    public:

		InputServidor(Personaje* personaje, int tipoPersonaje);
		virtual ~InputServidor();
		void DecodificarTeclas(string mensaje);
		void manejarInput();
		Personaje* getJugador();
		int getTipoPersonaje();
		bool JugadorGano();
};

#endif /* INPUTSERVIDOR_H_ */
